import ElementPlus from 'element-plus'
import * as utils from '@/utils'

export default {
  install() {
    const requireComponent = require.context(
      '@/base', // 引入组件的根目录
      true, //是否需要查找下级目录
      /[a-z0-9]+\.(jsx?|vue)$/i
    )
    // 批量注册基础组件
    requireComponent.keys().forEach((fileName) => {
      // 当前获取组件的配置数据
      const componentConfig = requireComponent(fileName)
      // 获取该组件的 default.name 属性
      const componentName = componentConfig.default.name
      if (componentName) {
        // 注册组件
        window.$vueApp.component(
          componentName,
          componentConfig.default || componentConfig
        )
      }
    })

    window.$vueApp.config.globalProperties.$ELEMENT = { size: 'small' }
    window.$vueApp.config.globalProperties.$utils = utils

    window.$vueApp.use(ElementPlus)
  },
}
